home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / telecomm / bbs / mstats10.lha / MessageStats.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  1994-02-02  |  1.9 KB  |  86 lines

  1. /*
  2.  * Message Stats v1.00 © 1994 by Janne Siren, All Rights Reserved
  3.  *
  4.  */
  5.  
  6.     FirstArea = 2    /* First area number                          */
  7.     LastArea  = 32    /* Last area number                           */
  8.     SkipEmpty = 1    /* Skip empty areas? 0 = Off, 1 = On          */
  9.  
  10.             /* Lines 34 and 54: Areas to skip             */
  11.             /* eg. If cn ~= 5 & cn ~= 8 & cn ~= 9 Then Do */
  12.             /* would cause areas 5, 8 and 9 to be skipped */
  13.  
  14.     ln = Arg(1)
  15.  
  16.     Description    = "Statistics of local public message conferences:"
  17.     OutputFile    = "T:MessageStats_"||ln||".dat"
  18.  
  19.     CLS    = D2C(12)
  20.     LF    = D2C(10)
  21.  
  22.     LineName = Con_LineActive(ln)
  23.  
  24.     If LineName = "" Then Exit 10
  25.  
  26.     Address Command
  27.     Address Value LineName
  28.  
  29.     SendModem "Processing..."
  30.  
  31.     hn = 0 ; tn = 0 ; cn = FirstArea
  32.  
  33.     Do While cn <= LastArea
  34.         If cn ~= 31 Then Do
  35.             an = GetHighMsg(ln, cn)
  36.  
  37.             If an > hn Then hn = an
  38.  
  39.             sc.cn = an
  40.  
  41.             tn = tn + an
  42.         End
  43.  
  44.         cn = cn + 1
  45.     End
  46.  
  47.     cn = FirstArea
  48.  
  49.     If Open(fptr, OutputFile, "w") Then Do
  50.         WriteLn(fptr, CLS||LF||Description||LF||LF||"Area                           Msgs   Percentage"||LF||"------------------------------ ------ -------------------------------------")
  51.  
  52.         Do While cn <= LastArea
  53.             If sc.cn > 0 Then Do
  54.                 If cn ~= 31 Then Do
  55.                     lp = 0 ; dp = (sc.cn / tn) * 100
  56.  
  57.                     If dp > 31 Then dp = 31
  58.  
  59.                     br = ""
  60.  
  61.                     Do While lp <= dp
  62.                         br = br"x"
  63.                         lp = lp + 1
  64.                     End
  65.  
  66.                     If sc.cn == hn Then co = 3
  67.                     Else co = 2
  68.  
  69.                     WriteLn(fptr, Left(GetMsgAreaName(ln, cn), 31)||""||co||"m"||Left(sc.cn, 6)||" "||Left((sc.cn / tn) * 100, 4)||" "||br)
  70.                 End
  71.             End
  72.  
  73.             cn = cn + 1
  74.         End
  75.  
  76.         WriteLn(fptr, "------------------------------ ------ -------------------------------------"||LF||"Total Messages                 "||Left(tn, 6)||" Message Stats v1.00 by Janne Siren"||LF)
  77.  
  78.         Close(fptr)
  79.  
  80.         SendASCII OutputFile
  81.  
  82.         Address Command "Delete >NIL: "||OutputFile
  83.     End
  84.  
  85.     Exit
  86.